Void (kiểu dữ liệu)

Trong nhiều ngôn ngữ lập trình bắt nguồn từ CAlgol68, kiểu void (tiếng Anh: void type) là một kiểu kết quả của hàm nếu hàm này không trả về bất kì kết quả (giá trị) nào. Những hàm như thế thường được gọi trong chương trình vì những hiệu ứng biên của chúng. Các kiểu void có cùng mục đích với các cấu trúc cú pháp xác định các subroutine (đoạn chương trình con) trong Visual Basic và các procedure (thủ tục) trong ngôn ngữ lập trình Pascal. Trong những trường hợp như vậy, kiểu void có mục đích tương tự như kiểu unit (kiểu đơn vị) từ các ngôn ngữ lập trình hàm; tuy nhiên, có nhiều sự khác biệt trong các cách dùng được cho phép, như kiểu void được lấy làm kiểu rỗng và không có giá trị. Để dễ so sánh, xin hãy xem thêm đề mục Kiểu unit#Trong các ngôn ngữ lập trình.Ngôn ngữ CC++ cũng cung cấp con trỏ chỉ kiểu void (được đặc tả bởi void *), nhưng đây là một khái niệm không có liên quan. Các biến kiểu này là các con trỏ chỉ đến dữ liệu của một kiểu chưa được xác định, vì thế ở ngữ cảnh này (nhưng không phải trong những ngữ cảnh khác) void đóng vai trò như một kiểu vạn năng hay kiểu top. Một chương trình có thể chuyển đổi một con trỏ chỉ đến kiểu bất kì của dữ liệu thành một con trỏ chỉ đến kiểu void và quay ngược lại kiểu ban đầu mà không làm mất thông tin, điều này khiến cho các con trỏ trở nên hữu ích trong các hàm đa hình (polymorphic function) (chú ý điều này không thật đúng đối với các con trỏ hàm vì các hàm không phải là dữ liệu[1]).